【MySQL】演算の優先順位と制御
算数や数学の式と同様にMySQLの演算にも優先順位があります。
ここでは、MySQLの演算の優先順位と制御について解説します。
検証環境
優先順位
算術演算や比較演算、論理演算などの演算は処理の順序に優先順位があります。
演算子 | 意味 |
---|---|
! |
否定 |
- |
数値のマイナス記号 |
* , / , DIV , % , MOD |
乗算、除算、剰余 |
+ , - |
加算、減算 |
= , <=> , <> , != , < , <= , > , >= , LIKE , IN |
比較関連Ⅰ |
BETWEEN |
比較関連Ⅱ |
NOT |
否定 |
AND , && |
論理積 |
XOR |
排他的論理和 |
OR , || |
論理和 |
例えば、次の3 + 8 * 11
では8 * 11
を最初に演算し、その結果に3
が加算されます。
mysql> SELECT 3 + 8 * 11;
+------------+
| 3 + 8 * 11 |
+------------+
| 91 |
+------------+
1 row in set (0.00 sec)
制御
算数・数学の数式と同様に丸括弧(()
)で優先度を制御することができます。
丸括弧がネスト(階層化)する場合はより内側のモノから優先して演算されます。
mysql> SELECT ( 3 + 8 ) * 11;
+----------------+
| ( 3 + 8 ) * 11 |
+----------------+
| 121 |
+----------------+
1 row in set (0.00 sec)